package com.itheima.polymorphsm2;

public class Test1 {

    public static void main(String[] args) {

        //多态的优点：1.右边对象是解耦合的，便于扩展和维护
        //Animal a1 = new Tortoise();
        /*Animal a1 = new Wolf();   //更换方便
        a1.run();*/

        Animal a1 = new Tortoise();
        start(a1);
        Animal a2 = new Wolf();
        start(a2);

        Animal a3 = new Tortoise();
        //a3.swim();   //报错，多态下不能使用子类的独有功能


    }

    //多态的优点：2.定义方法时，使用父类类型的形参，可以接收一切子类对象，扩展性高
    public static void start(Animal a) {
        System.out.println("开始跑：");
        a.run();
        //a.swim();   //报错，多态下不能使用子类的独有功能

    }
}
